#ifndef  engine_work_h
#define  engine_work_h

#include <string>
#include <vector>

#include "Context.h"
#include "Plugin.h"

using std::string;
using std::vector;

namespace ddserver
{
namespace engine
{

class Work
{
public:
    Work();
    Work(const string & name, bool flag);
    ~Work();

    void append(Plugin * plugin);

    void set_name(const string &name);
    const string & get_name() const;

    void set_switch(bool flag);
    bool get_switch() const;

    bool run(Context & ctx);
    bool check(Context & ctx);
    void showPlugins();

protected:
    string m_name;
    bool m_switch;
    vector<Plugin *> m_plugins;
};

}
}
#endif 
